#plotting format
plotformat = theme(plot.title = element_text(face="bold",size = 17,hjust = 0.5),axis.title = element_text(face = "bold",size =15), axis.text.x = element_text(size=12), axis.title.y=element_text(size=14))+theme_bw()

theme_facet = function(base_size = 14, base_family = "Helvetica") {
  # Starts with theme_grey and then modify some parts
  theme_bw(base_size = base_size, base_family = base_family) %+replace%
    theme(
      strip.background = element_blank(),
      strip.text.x = element_text(size = 10),
      strip.text.y = element_text(size = 10),
      axis.text.x = element_blank(),
      axis.text.y = element_text(size=12,hjust=1),
      axis.ticks =  element_blank(), #element_line(colour = "black"), 
      axis.title.x= element_text(size=12),
      axis.title.y= element_text(size=12,angle=90),
      panel.background = element_blank(), 
      panel.border =element_blank(), 
      panel.grid.minor = element_blank(), 
      panel.spacing = unit(0.5, "lines"), 
      plot.background = element_blank(), 
      plot.margin = unit(c(0.3,  0.3, 0.3, 0.3), "lines"),
      axis.line.x = element_line(color="black", size = 0.5),
      axis.line.y = element_line(color="black", size = 0.5)
    )
}
#color
Features = c('#deebf7','#9ecae1','#6baed6','#4292c6','#08519c','#08306b',
             '#fee6ce','#fdae6b','#fd8d3c','#f16913','#a63603','#7f2704',
             '#f0f0f0','#bdbdbd','#969696','#737373','#252525','#000000',
             '#efedf5','#bcbddc','#9e9ac8','#807dba','#54278f','#3f007d')
dataPath = '/Volumes/Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/Prolificdata/newDesignV6_001/';

SameDifferent_fnames = list.files(path = dataPath,pattern = "SameDifferent")
Demo_fnames = list.files(path = dataPath,pattern = "demographics")
Post_fnames = list.files(path = dataPath,pattern = "postsurvey")
postsurvey_new_fname = "postsurvey_newDesignV6"
d_p_thre = 0.5
trial_thre = 42

Load data

##specify variables
#for behavior information
completeFnames =list()
totalData = data.frame()
ic = 1;

#for demographic information
gender = data.frame()
age = data.frame()
ethnicity= data.frame()
race = data.frame()
subID = data.frame()

#for post survey
Postsurvey=data.frame()
Postsurvey_feature = data.frame()
prolificID = data.frame()
PostsubID=data.frame()

##Getting data from online text output
for (ifiles in 1:length(SameDifferent_fnames)){
  tempFile = read.table(paste0(dataPath,SameDifferent_fnames[ifiles]),header = F)
  Trials = unlist(strsplit(as.character(tempFile$V1), ";"))
  
  if (length(Trials)>10){
    keyNum = data.frame()
    accuracy = data.frame()
    feature_index = data.frame()
    RT = data.frame()
    Fir_img = data.frame()
    Sec_img = data.frame()
    for (i in 1:length(Trials)){
      temp = unlist(strsplit(Trials[i],","));
      keyNum = rbind(keyNum,as.numeric(temp[2]))
      accuracy = rbind(accuracy,as.numeric(temp[4]))
      RT = rbind(RT,as.numeric(temp[5]))
      feature_index = rbind(feature_index,as.numeric(temp[6]))
      Fir_img = rbind(Fir_img,as.numeric(temp[7]))
      Sec_img = rbind(Sec_img,as.numeric(temp[8]))
    }
    data = cbind(keyNum,accuracy,RT, feature_index,Fir_img,Sec_img)
    colnames(data) = c("keys","accuracy", "rt","feature_index", "Fimg","Simg")
    data = data[-1,]
    data$subID = ifiles;
    data$trialNum = 1:dim(data)[1];
    
    totalData = rbind(totalData,data)
    
    #Getting demo data
    for (ifilesDe in 1:length(Demo_fnames)){
      if (unlist(strsplit(SameDifferent_fnames[ifiles],"SameDifferent"))[2]==unlist(strsplit(Demo_fnames[ifilesDe],"demographics"))[2]){  tempDemoFile = read.table(paste0(dataPath,Demo_fnames[ifilesDe]),header = F)
      Demo_info = unlist(strsplit(as.character(tempDemoFile$V1), ";"))
      gender[ic,1] = unlist(Demo_info[1])
      age[ic,1]=unlist(Demo_info[2])
      ethnicity[ic,1]=unlist(Demo_info[3])
      race[ic,1]=unlist(Demo_info[4])
      subID[ic,1]=unlist(ifiles)
      }# if
    }#for
      
      ##Getting post-test data    
      for (ifilesDe in 1:length(Post_fnames)){
        if (unlist(strsplit(SameDifferent_fnames[ifiles],"SameDifferent"))[2]==unlist(strsplit(Post_fnames[ifilesDe],"postsurvey"))[2]){      tempPostFile = read.table(paste0(dataPath,Post_fnames[ifilesDe]),header = F)
              ###separate feedback and prolific ID
              if (dim(tempPostFile)[2]>1){
                tempPostFile$y = apply( tempPostFile[,] , 1 , paste , collapse = "" )
                Post_info = unlist(strsplit(as.character(tempPostFile$y), ";"))
              }else{
                Post_info = unlist(strsplit(as.character(tempPostFile$V1), ";"))
              }
          
          Postsurvey[ic,1]=unlist(Post_info[1])
          prolificID[ic,1] = unlist(Post_info[2])
          Postsurvey_feature[ic,1]=feature_index[2,]
          PostsubID[ic,1]=unlist(ifiles)
        }#if 
        }#for
        
      completeFnames[ic] =unlist(strsplit(SameDifferent_fnames[ifiles],"SameDifferent"))[2]
      ic = ic+1;
    }else{
    }
}#for
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferent2H3HyGQb.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographics2H3HyGQb.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurvey2H3HyGQb.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferent3ZOSWrNQ.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographics3ZOSWrNQ.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurvey3ZOSWrNQ.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferent45SU4obU.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographics45SU4obU.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurvey45SU4obU.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferent7VruJ50s.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographics7VruJ50s.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurvey7VruJ50s.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferent8rwEY6J1.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographics8rwEY6J1.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurvey8rwEY6J1.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentA5RcPGYz.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsA5RcPGYz.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyA5RcPGYz.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentACmsF6Uy.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsACmsF6Uy.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyACmsF6Uy.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentDEtC6YHS.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsDEtC6YHS.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyDEtC6YHS.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferente60Feo6A.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicse60Feo6A.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveye60Feo6A.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferenteke4AoVv.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicseke4AoVv.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyeke4AoVv.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentEspID6tu.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsEspID6tu.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyEspID6tu.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentfE8TbW1Z.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsfE8TbW1Z.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyfE8TbW1Z.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentGB8ILuBn.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsGB8ILuBn.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyGB8ILuBn.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentGbXTNBn2.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsGbXTNBn2.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyGbXTNBn2.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentHjdtMvGF.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsHjdtMvGF.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyHjdtMvGF.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferenthLbhJSmO.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicshLbhJSmO.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyhLbhJSmO.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentHXu7ozyg.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsHXu7ozyg.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyHXu7ozyg.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentHXUkI4cg.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsHXUkI4cg.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyHXUkI4cg.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentJ84xY2Pu.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsJ84xY2Pu.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyJ84xY2Pu.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentjttbsQux.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsjttbsQux.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyjttbsQux.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentkL4CGdu9.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicskL4CGdu9.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveykL4CGdu9.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentKstIwziy.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsKstIwziy.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyKstIwziy.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentkzftnzzn.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicskzftnzzn.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveykzftnzzn.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentMBiVuo3E.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsMBiVuo3E.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyMBiVuo3E.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentnGGyN2vm.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsnGGyN2vm.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveynGGyN2vm.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentNoVIB0jM.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsNoVIB0jM.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyNoVIB0jM.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentOatO0Cdj.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentQktgjRMo.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsQktgjRMo.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyQktgjRMo.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentQOdqcFq4.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsQOdqcFq4.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyQOdqcFq4.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentSIfDZyhq.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsSIfDZyhq.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveySIfDZyhq.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentVHDNkmKK.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsVHDNkmKK.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyVHDNkmKK.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentVkYTgBsg.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsVkYTgBsg.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyVkYTgBsg.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentVT1UxV8l.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsVT1UxV8l.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyVT1UxV8l.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentwPWBHqhJ.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicswPWBHqhJ.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveywPWBHqhJ.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentXMUU3ycT.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsXMUU3ycT.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyXMUU3ycT.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentXskT2zah.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsXskT2zah.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyXskT2zah.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentycrBHH3x.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsycrBHH3x.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyycrBHH3x.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentyjd01PGG.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsyjd01PGG.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyyjd01PGG.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/
## Calibration/Prolificdata/newDesignV6_001/SameDifferentyrGssd9g.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/demographicsyrGssd9g.txt'
## Warning in read.table(paste0(dataPath, Post_fnames[ifilesDe]), header =
## F): incomplete final line found by readTableHeader on '/Volumes/Macintosh
## HD/Users/Pam_sf_wang/Documents/Perceptual_learning_project/Calibration/
## Prolificdata/newDesignV6_001/postsurveyyrGssd9g.txt'
  demographic_information = cbind(gender,age,ethnicity,race,subID)
  colnames(demographic_information) = c("Gender","Age","Ethnicity","Race","SubID")
  demographic_information$Age = as.numeric(demographic_information$Age)
  
  #save post test survey
  postsurvey = cbind(Postsurvey,Postsurvey_feature,prolificID,PostsubID)
  colnames(postsurvey) = c("post_surve","feature","prolificID","SubID")
  write.csv(postsurvey, file = paste0(postsurvey_new_fname,".csv"))

Identify and remove outliers

  summarize = dplyr::summarize
  #check basic performance -- remove non-responding subjects
  temp = totalData %>% group_by(subID) %>% summarize(num_noresponses= sum(keys==-1), trialNum = length(subID))
  sprintf("total trial number: %i; Number of subjects %i",temp$trialNum[1],dim(temp)[1])
## [1] "total trial number: 84; Number of subjects 38"
  temp
## # A tibble: 38 x 3
##    subID num_noresponses trialNum
##    <int>           <int>    <int>
##  1     1               0       84
##  2     2               0       84
##  3     3               0       84
##  4     4               1       84
##  5     5               2       84
##  6     6               0       84
##  7     7               5       84
##  8     8               3       84
##  9     9               0       84
## 10    10               0       84
## # ... with 28 more rows
  ggplot(temp, aes( y= num_noresponses, x= subID))+
    geom_point()+
    geom_hline(yintercept=trial_thre, linetype="dashed", color = "red", size=0.5)+
    labs(title="No responses", x ="subjuect ID", y = "number of no responses")+
    plotformat

  #check feature number
  tempFeature = totalData %>% group_by(subID) %>%summarize(feature = feature_index[1])
  sprintf("Feature 1: %i; Feature 2: %i; Feature 3: %i",sum(tempFeature$feature==1),sum(tempFeature$feature==2),sum(tempFeature$feature==3))
## [1] "Feature 1: 10; Feature 2: 14; Feature 3: 14"
  #no response subjects
  removeSub = temp$subID[temp$num_noresponses>trial_thre]
  totalData = totalData%>%filter(!subID %in% removeSub)
  demographic_information = demographic_information%>%filter(!SubID %in%removeSub)
  
  sprintf("remove subjects %i",length(removeSub))
## [1] "remove subjects 1"

Demographic information

  genderCount = table(demographic_information$Gender)
  EthnicityCount = table(demographic_information$Ethnicity)
  RaceCount = table(demographic_information$Race)
  genderCount
## 
##  F  M 
## 18 19
  EthnicityCount
## 
##  HL  NA NHL 
##   4   2  31
  RaceCount
## 
##  A AA  M  O  W 
##  3  4  4  4 22
  summary(demographic_information$Age)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   18.00   24.00   27.00   26.92   30.00   36.00
  ggplot(demographic_information, aes(demographic_information$Age)) + 
    geom_histogram()+
    geom_vline(xintercept=median(demographic_information$Age), linetype="dashed", color = "red", size=0.5)+
    #geom_vline(xintercept=mean(demographic_information$Age), linetype="dashed", color = "blue", size=0.5)+
    labs(title = "Age Distribution",x = "age", y = "counts")+
    plotformat
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Restrict age

  #select right age
  remainSub = demographic_information$SubID[demographic_information$Age<=35]
  demographic_information_remain = filter(demographic_information,SubID%in%remainSub)
  
  summary(demographic_information_remain$Age)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   18.00   23.50   27.00   26.67   30.00   35.00
  ggplot(demographic_information_remain, aes(Age)) + 
    geom_histogram()+
    geom_vline(xintercept=median(demographic_information_remain$Age), linetype="dashed", color = "red", size=0.5)+
    #geom_vline(xintercept=mean(demographic_information$Age), linetype="dashed", color = "blue", size=0.5)+
    labs(title = "Age Distribution",x = "age", y = "counts")+
    plotformat
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

  genderCount = table(demographic_information_remain$Gender)
  EthnicityCount = table(demographic_information_remain$Ethnicity)
  RaceCount = table(demographic_information_remain$Race)
  genderCount
## 
##  F  M 
## 18 18
  EthnicityCount
## 
##  HL  NA NHL 
##   4   2  30
  RaceCount
## 
##  A AA  M  O  W 
##  3  4  4  4 21
  totalData = totalData %>%filter(subID %in%remainSub)
  
  temp = totalData %>% group_by(subID) %>% summarize(num_noresponses= sum(keys==-1), trialNum = length(subID))
  sprintf("total trial number: %i; Number of subjects %i",temp$trialNum[1],dim(temp)[1])
## [1] "total trial number: 84; Number of subjects 36"
  temp
## # A tibble: 36 x 3
##    subID num_noresponses trialNum
##    <int>           <int>    <int>
##  1     1               0       84
##  2     2               0       84
##  3     3               0       84
##  4     4               1       84
##  5     5               2       84
##  6     7               5       84
##  7     8               3       84
##  8     9               0       84
##  9    10               0       84
## 10    11               0       84
## # ... with 26 more rows
  ggplot(temp, aes( y= num_noresponses, x= subID))+
    geom_point()+
    geom_hline(yintercept=trial_thre, linetype="dashed", color = "red", size=0.5)+
    labs(title="No responses", x ="subjuect ID", y = "number of no responses")+
    plotformat

  #check feature number
  tempFeature = totalData %>% group_by(subID) %>%summarize(feature = feature_index[1])
  sprintf("Feature 1: %i; Feature 2: %i; Feature 3: %i",sum(tempFeature$feature==1),sum(tempFeature$feature==2),sum(tempFeature$feature==3))
## [1] "Feature 1: 10; Feature 2: 12; Feature 3: 14"

Add conditions

  summarize = dplyr::summarize
  completeFnames = unlist(completeFnames)
  #trial conditions: different:0; same:1 (same as keys)
  totalData$cond = NA;
  totalData$cond[totalData$Fimg==totalData$Simg]=1;
  totalData$cond[totalData$Fimg!=totalData$Simg]=0;
  
  
  totalData$level_diff = abs(totalData$Simg-totalData$Fimg);
  
  
  #Assign pair identity (ignore order)
  totalData$pairIdentity = NA;
  
  totalData$pairIdentity[totalData$cond==1&totalData$Fimg==1]=1
  totalData$pairIdentity[totalData$cond==1&totalData$Fimg==2]=2
  totalData$pairIdentity[totalData$cond==1&totalData$Fimg==3]=3
  totalData$pairIdentity[totalData$cond==1&totalData$Fimg==4]=4
  totalData$pairIdentity[totalData$cond==1&totalData$Fimg==5]=5
  totalData$pairIdentity[totalData$cond==1&totalData$Fimg==6]=6
  totalData$pairIdentity[totalData$cond==1&totalData$Fimg==7]=7
  
  totalData$pairIdentity[totalData$Fimg==1&totalData$Simg==2]=12
  totalData$pairIdentity[totalData$Fimg==2&totalData$Simg==1]=12
  
  totalData$pairIdentity[totalData$Fimg==1&totalData$Simg==3]=13
  totalData$pairIdentity[totalData$Fimg==3&totalData$Simg==1]=13
  
  totalData$pairIdentity[totalData$Fimg==1&totalData$Simg==4]=14
  totalData$pairIdentity[totalData$Fimg==4&totalData$Simg==1]=14
  
  totalData$pairIdentity[totalData$Fimg==1&totalData$Simg==5]=15
  totalData$pairIdentity[totalData$Fimg==5&totalData$Simg==1]=15
  
  totalData$pairIdentity[totalData$Fimg==1&totalData$Simg==6]=16
  totalData$pairIdentity[totalData$Fimg==6&totalData$Simg==1]=16
  
  totalData$pairIdentity[totalData$Fimg==1&totalData$Simg==7]=17
  totalData$pairIdentity[totalData$Fimg==7&totalData$Simg==1]=17
  
  totalData$pairIdentity[totalData$Fimg==2&totalData$Simg==3]=23
  totalData$pairIdentity[totalData$Fimg==3&totalData$Simg==2]=23
  
  totalData$pairIdentity[totalData$Fimg==2&totalData$Simg==4]=24
  totalData$pairIdentity[totalData$Fimg==4&totalData$Simg==2]=24
  
  totalData$pairIdentity[totalData$Fimg==2&totalData$Simg==5]=25
  totalData$pairIdentity[totalData$Fimg==5&totalData$Simg==2]=25
  
  totalData$pairIdentity[totalData$Fimg==2&totalData$Simg==6]=26
  totalData$pairIdentity[totalData$Fimg==6&totalData$Simg==2]=26
  
  totalData$pairIdentity[totalData$Fimg==2&totalData$Simg==7]=27
  totalData$pairIdentity[totalData$Fimg==7&totalData$Simg==2]=27
  
  totalData$pairIdentity[totalData$Fimg==3&totalData$Simg==4]=34
  totalData$pairIdentity[totalData$Fimg==4&totalData$Simg==3]=34
  
  totalData$pairIdentity[totalData$Fimg==3&totalData$Simg==5]=35
  totalData$pairIdentity[totalData$Fimg==5&totalData$Simg==3]=35
  
  totalData$pairIdentity[totalData$Fimg==3&totalData$Simg==6]=36
  totalData$pairIdentity[totalData$Fimg==6&totalData$Simg==3]=36
  
  totalData$pairIdentity[totalData$Fimg==3&totalData$Simg==7]=37
  totalData$pairIdentity[totalData$Fimg==7&totalData$Simg==3]=37
  
  totalData$pairIdentity[totalData$Fimg==4&totalData$Simg==5]=45
  totalData$pairIdentity[totalData$Fimg==5&totalData$Simg==4]=45
  
  totalData$pairIdentity[totalData$Fimg==4&totalData$Simg==6]=46
  totalData$pairIdentity[totalData$Fimg==6&totalData$Simg==4]=46
  
  totalData$pairIdentity[totalData$Fimg==4&totalData$Simg==7]=47
  totalData$pairIdentity[totalData$Fimg==7&totalData$Simg==4]=47
  
  totalData$pairIdentity[totalData$Fimg==5&totalData$Simg==6]=56
  totalData$pairIdentity[totalData$Fimg==6&totalData$Simg==5]=56
  
  totalData$pairIdentity[totalData$Fimg==5&totalData$Simg==7]=57
  totalData$pairIdentity[totalData$Fimg==7&totalData$Simg==5]=57
  
  totalData$pairIdentity[totalData$Fimg==6&totalData$Simg==7]=67
  totalData$pairIdentity[totalData$Fimg==7&totalData$Simg==6]=67
  
  totalData$pairIdentity = as.factor(totalData$pairIdentity)
  summarize = dplyr::summarize
  #Times
  TimesRT = totalData %>% group_by(subID,pairIdentity,feature_index,cond)%>%summarize(Frt = rt[1],Srt = rt[2], Trt = rt[3], Ftrial = trialNum[1],Strial = trialNum[2],Ttrial = trialNum[3])
  
  TimesRT_long = gather(TimesRT, response_type, number_resp,Frt,Srt,Trt)
  ggplot(subset(TimesRT_long, cond==1), aes(x = pairIdentity, y = number_resp, group = pairIdentity, color = as.factor(pairIdentity)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_jitter(width=0.2,alpha = 0.5)+
    ylim(0,2500)+
    facet_wrap(response_type~feature_index)+
    labs(title="Same", x = "level", y = "RT")+
    plotformat
## Warning: Removed 8 rows containing missing values (geom_point).

  ggplot(subset(TimesRT_long, cond==0), aes(x = pairIdentity, y = number_resp, group = pairIdentity, color = as.factor(pairIdentity)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(response_type~feature_index)+
    labs(title="Different", x = "Same level", y = "RT")+
    plotformat

  TimesRTcorrect = totalData %>% group_by(subID,pairIdentity,feature_index,cond)%>%filter(accuracy==1) %>%summarize(Frt = rt[1],Srt = rt[2], Trt = rt[3], Ftrial = trialNum[1],Strial = trialNum[2],Ttrial = trialNum[3])
  
  TimesRTcorrect_long = gather(TimesRTcorrect, response_type, number_resp,Frt,Srt,Trt)
  ggplot(subset(TimesRTcorrect_long, cond==1), aes(x = pairIdentity, y = number_resp, group = pairIdentity, color = as.factor(pairIdentity)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(response_type~feature_index)+
    labs(title="Correct same", x = "Same level", y = "RT")+
    plotformat
## Warning: Removed 200 rows containing non-finite values (stat_boxplot).
## Warning: Removed 200 rows containing missing values (geom_point).

  ggplot(subset(TimesRTcorrect_long, cond==0), aes(x = pairIdentity, y = number_resp, group = pairIdentity, color = as.factor(pairIdentity)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(response_type~feature_index,strip.position = 'bottom')+
    labs(title="Correct different", x = "Same level", y = "RT")+
    theme_facet()
## Warning: Removed 566 rows containing non-finite values (stat_boxplot).
## Warning: Removed 566 rows containing missing values (geom_point).

Behavior analysis

  summarize = dplyr::summarize
  basic = totalData %>% filter(keys>=0)%>% group_by(subID)%>% summarize(num_noresposnes = sum(keys==-1), num_same_resp = sum(keys==1), num_diff_resp = sum(keys==0), num_same_trials =sum(cond==1), num_diff_trials = sum(cond==0), 
                                                                        hit = sum(keys==1&cond==1), 
                                                                        fa= sum(keys==1&cond==0), 
                                                                        cr = sum(keys==0&cond==0),
                                                                        miss = sum(keys==0&cond==1),
                                                                        HitRate =sum(keys==1&cond==1)/sum(cond==1), 
                                                                        FARate = sum(keys==1&cond==0)/sum(cond==0), 
                                                                        CRRate = sum(keys==0&cond==0)/sum(cond==0),
                                                                        MissRate = sum(keys==0&cond==1)/sum(cond==1), 
                                                                        d_p = qnorm(HitRate)-qnorm(FARate))
  basic
## # A tibble: 36 x 15
##    subID num_noresposnes num_same_resp num_diff_resp num_same_trials
##    <int>           <int>         <int>         <int>           <int>
##  1     1               0            41            43              21
##  2     2               0            51            33              21
##  3     3               0            49            35              21
##  4     4               0            38            45              21
##  5     5               0            23            59              21
##  6     7               0            12            67              20
##  7     8               0            26            55              20
##  8     9               0            38            46              21
##  9    10               0            39            45              21
## 10    11               0            18            66              21
## # ... with 26 more rows, and 10 more variables: num_diff_trials <int>,
## #   hit <int>, fa <int>, cr <int>, miss <int>, HitRate <dbl>,
## #   FARate <dbl>, CRRate <dbl>, MissRate <dbl>, d_p <dbl>
  #plotting
  basic_longform = gather(basic, response_type, number_resp, HitRate,FARate,CRRate,MissRate)
  head(basic_longform)
## # A tibble: 6 x 13
##   subID num_noresposnes num_same_resp num_diff_resp num_same_trials
##   <int>           <int>         <int>         <int>           <int>
## 1     1               0            41            43              21
## 2     2               0            51            33              21
## 3     3               0            49            35              21
## 4     4               0            38            45              21
## 5     5               0            23            59              21
## 6     7               0            12            67              20
## # ... with 8 more variables: num_diff_trials <int>, hit <int>, fa <int>,
## #   cr <int>, miss <int>, d_p <dbl>, response_type <chr>,
## #   number_resp <dbl>
  ggplot(basic_longform, aes(x = response_type, y = number_resp, color = response_type))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_jitter(width=0.2,alpha = 0.5)+
    labs(title="Proportaion response type", x = "response type", y = "proportion")+
    plotformat

  #d-p
  ggplot(basic, aes(x = subID, y = d_p, color = as.factor(subID)))+
    geom_point(size=3)+
    labs(title="d prime", x = "subject", y = "d prime")+
    plotformat

  remain_dp = basic$subID[basic$d_p>d_p_thre]
  sprintf("remove d prime lower than %f %i",d_p_thre, length(remain_dp))
## [1] "remove d prime lower than 0.500000 22"
  totalData = totalData %>%filter(subID%in%remain_dp)
  
  
  #check feature number
  tempFeature = totalData %>% group_by(subID) %>%summarize(feature = feature_index[1])
  sprintf("Feature 1: %i; Feature 2: %i; Feature 3: %i",sum(tempFeature$feature==1),sum(tempFeature$feature==2),sum(tempFeature$feature==3))
## [1] "Feature 1: 4; Feature 2: 9; Feature 3: 9"
  ##########
  basicFeature = totalData %>% filter(keys>=0)%>% group_by(subID,feature_index)%>% summarize(num_noresposnes = sum(keys==-1), num_same_resp = sum(keys==1), num_diff_resp = sum(keys==0), num_same_trials =sum(cond==1), num_diff_trials = sum(cond==0), 
                                                                                      hit = sum(keys==1&cond==1), 
                                                                                      fa= sum(keys==1&cond==0), 
                                                                                      cr = sum(keys==0&cond==0),
                                                                                      miss = sum(keys==0&cond==1),
                                                                                      HitRate =sum(keys==1&cond==1)/sum(cond==1), 
                                                                                      FARate = sum(keys==1&cond==0)/sum(cond==0), 
                                                                                      CRRate = sum(keys==0&cond==0)/sum(cond==0),
                                                                                      MissRate = sum(keys==0&cond==1)/sum(cond==1), 
                                                                                      d_p = qnorm(HitRate)-qnorm(FARate))
  basicFeature_longform = gather(basicFeature, response_type, number_resp, HitRate,FARate,CRRate,MissRate)
  head(basicFeature_longform)
## # A tibble: 6 x 14
## # Groups:   subID [6]
##   subID feature_index num_noresposnes num_same_resp num_diff_resp
##   <int>         <dbl>           <int>         <int>         <int>
## 1     1             3               0            41            43
## 2     2             3               0            51            33
## 3     3             2               0            49            35
## 4     4             3               0            38            45
## 5     5             3               0            23            59
## 6     9             2               0            38            46
## # ... with 9 more variables: num_same_trials <int>, num_diff_trials <int>,
## #   hit <int>, fa <int>, cr <int>, miss <int>, d_p <dbl>,
## #   response_type <chr>, number_resp <dbl>
  ggplot(basicFeature_longform, aes(x = response_type, y = number_resp, color = response_type))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(~feature_index)+
    labs(title="Proportaion response type by feature", x = "response type", y = "proportion")+
    plotformat

  ###########
  basicLevel = totalData %>% filter(keys>=0)%>% group_by(subID,level_diff)%>% summarize(num_noresposnes = sum(keys==-1), num_same_resp = sum(keys==1), num_diff_resp = sum(keys==0), num_same_trials =sum(cond==1), num_diff_trials = sum(cond==0), 
                                                                                 hit = sum(keys==1&cond==1), 
                                                                                  fa= sum(keys==1&cond==0), 
                                                                                  cr = sum(keys==0&cond==0),
                                                                                  miss = sum(keys==0&cond==1),
                                                                                  HitRate =sum(keys==1&cond==1)/sum(cond==1), 
                                                                                  FARate = sum(keys==1&cond==0)/sum(cond==0), 
                                                                                  CRRate = sum(keys==0&cond==0)/sum(cond==0),
                                                                                  MissRate = sum(keys==0&cond==1)/sum(cond==1), 
                                                                                  d_p = qnorm(HitRate)-qnorm(FARate))
  basicLevel_longform = gather(basicLevel, response_type, number_resp, HitRate,FARate,CRRate,MissRate)
  head(basicLevel_longform)
## # A tibble: 6 x 14
## # Groups:   subID [1]
##   subID level_diff num_noresposnes num_same_resp num_diff_resp
##   <int>      <dbl>           <int>         <int>         <int>
## 1     1          0               0            14             7
## 2     1          1               0             8            10
## 3     1          2               0             6             9
## 4     1          3               0             5             7
## 5     1          4               0             4             5
## 6     1          5               0             2             4
## # ... with 9 more variables: num_same_trials <int>, num_diff_trials <int>,
## #   hit <int>, fa <int>, cr <int>, miss <int>, d_p <dbl>,
## #   response_type <chr>, number_resp <dbl>
  ggplot(basicLevel_longform, aes(x = response_type, y = number_resp, color = response_type))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(~level_diff,nrow = 1)+
    labs(title="Proportaion response type by difficulty level", x = "response type", y = "proportion")+
    theme_facet()
## Warning: Removed 308 rows containing non-finite values (stat_boxplot).
## Warning: Removed 308 rows containing missing values (geom_point).

  ###########
  basicLevelFeature = totalData %>% filter(keys>=0)%>% group_by(subID,level_diff,feature_index)%>% summarize(num_noresposnes = sum(keys==-1), num_same_resp = sum(keys==1), num_diff_resp = sum(keys==0), num_same_trials =sum(cond==1), num_diff_trials = sum(cond==0), 
                                                                                      hit = sum(keys==1&cond==1), 
                                                                                       fa= sum(keys==1&cond==0), 
                                                                                       cr = sum(keys==0&cond==0),
                                                                                       miss = sum(keys==0&cond==1),
                                                                                       HitRate =sum(keys==1&cond==1)/sum(cond==1),
                                                                                      FARate = sum(keys==1&cond==0)/sum(cond==0), 
                                                                                       CRRate = sum(keys==0&cond==0)/sum(cond==0),
                                                                                       MissRate = sum(keys==0&cond==1)/sum(cond==1),
                                                                                      d_p = qnorm(HitRate)-qnorm(FARate))
  basicLevelFeature_longform = gather(basicLevelFeature, response_type, number_resp, HitRate,FARate,CRRate,MissRate)
  head(basicLevelFeature_longform)
## # A tibble: 6 x 15
## # Groups:   subID, level_diff [6]
##   subID level_diff feature_index num_noresposnes num_same_resp
##   <int>      <dbl>         <dbl>           <int>         <int>
## 1     1          0             3               0            14
## 2     1          1             3               0             8
## 3     1          2             3               0             6
## 4     1          3             3               0             5
## 5     1          4             3               0             4
## 6     1          5             3               0             2
## # ... with 10 more variables: num_diff_resp <int>, num_same_trials <int>,
## #   num_diff_trials <int>, hit <int>, fa <int>, cr <int>, miss <int>,
## #   d_p <dbl>, response_type <chr>, number_resp <dbl>
  ggplot(basicLevelFeature_longform, aes(x = response_type, y = number_resp, color = response_type))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(feature_index~level_diff,nrow = 3,strip.position = "bottom")+
    labs(title="Proportaion response type by difficulty level", x = "level diff", y = "proportion")+
    theme_facet()
## Warning: Removed 308 rows containing non-finite values (stat_boxplot).

## Warning: Removed 308 rows containing missing values (geom_point).

reaction time and difficulty levels

  summarize = dplyr::summarize
  responseData = totalData %>%filter(keys>=0,accuracy==1)
  ggplot(responseData, aes(x = level_diff, y = rt, group = as.factor(level_diff), color = as.factor(level_diff)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(~feature_index)+
    ylim(0,2500)+
    labs(title="Reaction type by difficulty levels", x = "response type", y = "RT (ms)")+
    plotformat

  responseData_firstHalf = totalData %>%filter(keys>=0,accuracy==1,trialNum<42)
  ggplot(responseData_firstHalf, aes(x = level_diff, y = rt, group = as.factor(level_diff), color = as.factor(level_diff)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(~feature_index)+
    ylim(0,2500)+
    labs(title="Reaction type by difficulty levels -first", x = "response type", y = "RT (ms)")+
    plotformat

  responseData_lastHalf = totalData %>%filter(keys>=0,accuracy==1,trialNum>42)
  ggplot(responseData_lastHalf, aes(x = level_diff, y = rt, group = as.factor(level_diff), color = as.factor(level_diff)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(~feature_index)+
    ylim(0,2500)+
    labs(title="Reaction type by difficulty levels -last", x = "response type", y = "RT (ms)")+
    plotformat

  #temp = responseData %>% group_by(subID, level_diff, feature_index) %>%summarise(mean_RT = mean(rt))
  #ggplot(temp,aes(x = level_diff, y = mean_RT, group = level_diff))+
  #  geom_boxplot(fill = "white",lwd = 1)+
  #  geom_jitter(width=0.2,alpha = 0.5)+
  #  facet_wrap(~feature_index)+
  #  labs(title="Proportaion response type", x = "response type", y = "RT (ms)")+
  #  plotformat
  
  ######
  responseData = totalData %>%filter(keys>=0,accuracy==1,level_diff==0)
  ggplot(responseData, aes(x = pairIdentity, y = rt, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(~feature_index)+
    ylim(0,2500)+
    labs(title="Reaction type for same pairs by levels", x = "levels", y = "RT (ms)")+
    plotformat

  responseData = totalData %>%filter(keys>=0,accuracy==1,level_diff==1)
  ggplot(responseData, aes(x = pairIdentity, y = rt, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(~feature_index)+
    ylim(0,2500)+
    labs(title="Reaction type for difference -- level 1", x = "levels", y = "RT (ms)")+
    plotformat

  responseData = totalData %>%filter(keys>=0,accuracy==1,level_diff==2)
  ggplot(responseData, aes(x = pairIdentity, y = rt, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(~feature_index)+
    ylim(0,2500)+
    labs(title="Reaction type for difference -- level 2", x = "levels", y = "RT (ms)")+
    plotformat

  responseData = totalData %>%filter(keys>=0,accuracy==1,level_diff==3)
  ggplot(responseData, aes(x = pairIdentity, y = rt, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(~feature_index)+
    ylim(0,2500)+
    labs(title="Reaction type for difference -- level 3", x = "levels", y = "RT (ms)")+
    plotformat

  responseData = totalData %>%filter(keys>=0,accuracy==1,level_diff==4)
  ggplot(responseData, aes(x = pairIdentity, y = rt, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(~feature_index)+
    ylim(0,2500)+
    labs(title="Reaction type for difference -- level 4", x = "levels", y = "RT (ms)")+
    plotformat

  responseData = totalData %>%filter(keys>=0,accuracy==1,level_diff==5)
  ggplot(responseData, aes(x = pairIdentity, y = rt, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(~feature_index)+
    ylim(0,2500)+
    labs(title="Reaction type for difference -- level 5", x = "levels", y = "RT (ms)")+
    plotformat

  responseData = totalData %>%filter(keys>=0,accuracy==1,level_diff==6)
  ggplot(responseData, aes(x = pairIdentity, y = rt, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(~feature_index)+
    ylim(0,2500)+
    labs(title="Reaction type for difference -- level 6", x = "levels", y = "RT (ms)")+
    plotformat

accuracy and difficulty levels

  accuracyData = totalData %>%filter(keys>=0)%>%group_by(subID,feature_index,level_diff)%>%summarize(meanAccuracy = sum(accuracy==1)/length(subID))
  ggplot(accuracyData, aes(x = level_diff, y = meanAccuracy, group = as.factor(level_diff), color = as.factor(level_diff)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(~feature_index)+
    labs(title="Accuracy by difficulty levels", x = "difficulty level", y = "proportion correct")+
    plotformat

accuracy and pair

  accuracyDataPairSame = totalData %>%filter(keys>=0,cond==1)%>%group_by(subID,feature_index,pairIdentity)%>%summarize(propAccuracy = sum(accuracy==1)/length(subID))
  
ggplot(accuracyDataPairSame, aes(x = pairIdentity, y = propAccuracy, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_point(alpha = 0.5)+
    #geom_jitter(width=0.05,alpha = 0.5)+
    facet_wrap(~feature_index)+
    labs(title="Accuracy by same pairs", x = "difficulty level", y = "proportion correct")+
    plotformat

accuracyDataPairDiff = totalData %>%filter(keys>=0,cond==0)%>%group_by(subID,feature_index,pairIdentity)%>%summarize(propAccuracy = sum(accuracy==1)/length(subID))
ggplot(accuracyDataPairDiff, aes(x = as.factor(pairIdentity), y = propAccuracy, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_point(alpha = 0.5)+
    #geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(~feature_index)+
    labs(title="Accuracy by different pairs", x = "difficulty level", y = "proportion correct")+
    plotformat

accuracyDataPairDiff_level = totalData %>%filter(keys>=0,cond==0)%>%group_by(subID,feature_index,pairIdentity)%>%summarize(propAccuracy = sum(accuracy==1)/length(subID), level_diff = level_diff[1])
  
ggplot(filter(accuracyDataPairDiff_level,level_diff==1), aes(x = as.factor(pairIdentity), y = propAccuracy, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_point(alpha = 0.5)+
    #geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(~feature_index)+
    labs(title="Accuracy by different pairs --level 01", x = "difficulty level", y = "proportion correct")+
    plotformat

ggplot(filter(accuracyDataPairDiff_level,level_diff==2), aes(x = as.factor(pairIdentity), y = propAccuracy, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_point(alpha = 0.5)+
    #geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(~feature_index)+
    labs(title="Accuracy by different pairs --level 02", x = "difficulty level", y = "proportion correct")+
    plotformat

ggplot(filter(accuracyDataPairDiff_level,level_diff==3), aes(x = as.factor(pairIdentity), y = propAccuracy, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_point(alpha = 0.5)+
    #geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(~feature_index)+
    labs(title="Accuracy by different pairs --level 03", x = "difficulty level", y = "proportion correct")+
    plotformat

ggplot(filter(accuracyDataPairDiff_level,level_diff==4), aes(x = as.factor(pairIdentity), y = propAccuracy, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_point(alpha = 0.5)+
    #geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(~feature_index)+
    labs(title="Accuracy by different pairs --level 04", x = "difficulty level", y = "proportion correct")+
    plotformat

ggplot(filter(accuracyDataPairDiff_level,level_diff==5), aes(x = as.factor(pairIdentity), y = propAccuracy, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_point(alpha = 0.5)+
    #geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(~feature_index)+
    labs(title="Accuracy by different pairs --level 05", x = "difficulty level", y = "proportion correct")+
    plotformat

ggplot(filter(accuracyDataPairDiff_level,level_diff==6), aes(x = as.factor(pairIdentity), y = propAccuracy, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
    geom_boxplot(fill = "white",lwd = 1)+
    geom_point(alpha = 0.5)+
    #geom_jitter(width=0.2,alpha = 0.5)+
    facet_wrap(~feature_index)+
    labs(title="Accuracy by different pairs --level 06", x = "difficulty level", y = "proportion correct")+
    plotformat